package com.nq.utils;

import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;

/**
 * 行情接口（http://155.94.204.102:34567/tt/gnc/india/?x）
 */
public class GncUtil {
    /*
    http://155.94.204.102:34567/tt/gnc/india/?lists
    请求方式：GET请求
    请求参数：无
    返回结果：i=代码，n=名称，o=开盘价，h=最高价，l=最低价，c=收盘价（最新价），y=昨收价，v=成交量，a=成交金额，p=涨幅百分比，e=涨跌价格
     */
    public static JSONArray list(String lists) {
        String url = "http://155.94.204.102:34567/tt/gnc/india/?lists";
        if (StrUtil.isNotBlank(lists)) {
            url += "&lists=" + lists;
        }
        String body = HttpUtil.createGet(url).execute().body();
        JSONArray items = JSONUtil.parseArray(body);
        return items;
    }

    /*
    印度K线查询接口
    http://155.94.204.102:34567/tt/gnc/india/?date=20240101&enddate=20240405&l=101&code=股票代码
    请求方式：GET请求
    请求参数：date=数据起始日期，enddate=数据结束日期，l=K线时间级别，code=要查询的股票
    [l=1]1分（最近7天，超了会报错）
    [l=5]5分（最近30天，超了会报错）
    [l=15]15分（最近60天，超了会报错）
    [l=30]30分（最近60天，超了会报错）
    [l=60]60分（上市至今都有）
    [l=101]日线（上市至今都有）
    [l=102]周线（上市至今都有）
    [l=103]月线（上市至今都有）
    返回结果：t=时间，s=时间戳，o=开盘价，h=最高价，l=最低价，c=收盘价（最新价），v=成交量，a=成交金额
     */
    public static JSONArray kline(String code, String type, String startdate, String enddate) {
        String body = HttpUtil.createGet("http://155.94.204.102:34567/tt/gnc/india/")
                .form("code", code)
                .form("l", type)
                .form("date", startdate)
                .form("enddate", enddate)
                .execute()
                .body();
        return JSONUtil.parseArray(body);
    }


    public static void main(String[] args) {
        //list(null);
        //String body = HttpUtil.get("http://155.94.204.102:34567/tt/gnc/india/?lists");
        //kline("SMFIL.BO", "101", "20240201", "20240401");
    }
}
